Python Flow Mapper Documentation

Author

Arun Koundinya Parasa

graph RL
    subgraph mermaid_generator [mermaid_generator]
        mermaid_generator___init__[__init__]
        mermaid_generator__find_function_full_name[_find_function_full_name]
        mermaid_generator__load_metadata[_load_metadata]
        mermaid_generator_generate_all_diagrams[generate_all_diagrams]
        mermaid_generator_generate_detailed_flow_graph[generate_detailed_flow_graph]
        mermaid_generator_is_camel_case[is_camel_case]
        mermaid_generator_is_fileish_arg[is_fileish_arg]
        mermaid_generator_is_outputish_call[is_outputish_call]
        mermaid_generator_keep_external[keep_external]
        mermaid_generator_nid[nid]
        mermaid_generator_normalize_vars[normalize_vars]
        mermaid_generator_ordered_functions_from_entry[ordered_functions_from_entry]
        mermaid_generator_resolve_internal[resolve_internal]
        mermaid_generator_short_label[short_label]
        mermaid_generator_visit[visit]
    end
    subgraph utils [utils]
        utils_extract_docstring[extract_docstring]
        utils_find_entry_point[find_entry_point]
        utils_format_module_name[format_module_name]
        utils_get_function_signature[get_function_signature]
        utils_get_project_structure[get_project_structure]
        utils_is_stdlib_module[is_stdlib_module]
        utils_load_json[load_json]
        utils_save_json[save_json]
    end
    subgraph analyzer [analyzer]
        analyzer___init__[__init__]
        analyzer___post_init__[__post_init__]
        analyzer__analyze_file[_analyze_file]
        analyzer__build_data_flow_graph[_build_data_flow_graph]
        analyzer__extract_call_info[_extract_call_info]
        analyzer__find_python_files[_find_python_files]
        analyzer__generate_call_graph_data[_generate_call_graph_data]
        analyzer__generate_import_graph_data[_generate_import_graph_data]
        analyzer__generate_metadata[_generate_metadata]
        analyzer__get_attribute_name[_get_attribute_name]
        analyzer__is_internal_import[_is_internal_import]
        analyzer__path_to_module_name[_path_to_module_name]
        analyzer__resolve_function_name[_resolve_function_name]
        analyzer__save_metadata[_save_metadata]
        analyzer_analyze[analyze]
        analyzer_visit_Assign[visit_Assign]
        analyzer_visit_Call[visit_Call]
        analyzer_visit_ClassDef[visit_ClassDef]
        analyzer_visit_FunctionDef[visit_FunctionDef]
        analyzer_visit_Import[visit_Import]
        analyzer_visit_ImportFrom[visit_ImportFrom]
        analyzer_visit_Return[visit_Return]
    end
    subgraph cli [cli]
        cli_analyze_project[analyze_project]
        cli_generate_diagrams[generate_diagrams]
        cli_main[main]
        cli_print_tree[print_tree]
        cli_show_structure[show_structure]
    end
    subgraph External [External]
        ext_ArgumentParser[ArgumentParser]
        Done((Done))
    end
    mermaid_generator___init__ --> |metadata_path| mermaid_generator__load_metadata
    mermaid_generator_generate_detailed_flow_graph --> |call_name,callee,fn,n| mermaid_generator_short_label
    mermaid_generator_generate_detailed_flow_graph --> |base| mermaid_generator_is_camel_case
    mermaid_generator_generate_detailed_flow_graph --> |c,call,current_module| mermaid_generator__find_function_full_name
    mermaid_generator_generate_detailed_flow_graph --> |entry_key,target| mermaid_generator_visit
    mermaid_generator_generate_detailed_flow_graph --> |caller,fn,internal_p,short_module,target_internal| mermaid_generator_nid
    mermaid_generator_generate_detailed_flow_graph --> |c,callee,current_module,p| mermaid_generator_resolve_internal
    mermaid_generator_generate_detailed_flow_graph --> |c,callee,p| mermaid_generator_keep_external
    mermaid_generator_generate_detailed_flow_graph --> mermaid_generator_is_outputish_call
    mermaid_generator_generate_detailed_flow_graph --> mermaid_generator_ordered_functions_from_entry
    mermaid_generator_generate_detailed_flow_graph --> |vars_passed,vars_used| mermaid_generator_normalize_vars
    mermaid_generator_generate_detailed_flow_graph --> |a| mermaid_generator_is_fileish_arg
    mermaid_generator_keep_external --> |call_name| mermaid_generator_short_label
    mermaid_generator_keep_external --> |base| mermaid_generator_is_camel_case
    mermaid_generator_resolve_internal --> |call,current_module| mermaid_generator__find_function_full_name
    mermaid_generator_ordered_functions_from_entry --> |c,current_module| mermaid_generator__find_function_full_name
    mermaid_generator_ordered_functions_from_entry --> |entry_key,target| mermaid_generator_visit
    mermaid_generator_visit --> |c,current_module| mermaid_generator__find_function_full_name
    mermaid_generator_visit --> |target| mermaid_generator_visit
    mermaid_generator_generate_all_diagrams --> mermaid_generator_generate_detailed_flow_graph
    utils_get_project_structure --> |exclude_dirs,item| utils_get_project_structure
    analyzer_analyze --> analyzer__find_python_files
    analyzer_analyze --> |file_path| analyzer__analyze_file
    analyzer_analyze --> analyzer__build_data_flow_graph
    analyzer_analyze --> analyzer__generate_metadata
    analyzer_analyze --> |metadata| analyzer__save_metadata
    analyzer__analyze_file --> |rel_path| analyzer__path_to_module_name
    analyzer__analyze_file --> |tree| mermaid_generator_visit
    analyzer__build_data_flow_graph --> |call,called_func| analyzer__resolve_function_name
    analyzer__generate_metadata --> analyzer__generate_call_graph_data
    analyzer__generate_metadata --> analyzer__generate_import_graph_data
    analyzer_visit_Import --> |module_name| analyzer__is_internal_import
    analyzer_visit_ImportFrom --> |module_name| analyzer__is_internal_import
    analyzer_visit_FunctionDef --> |decorator| analyzer__get_attribute_name
    analyzer_visit_FunctionDef --> |node| mermaid_generator_visit
    analyzer_visit_ClassDef --> |item| mermaid_generator_visit
    analyzer_visit_Assign --> analyzer__extract_call_info
    analyzer_visit_Call --> |node| analyzer__extract_call_info
    analyzer_visit_Return --> analyzer__extract_call_info
    cli_main --> ext_ArgumentParser
    cli_main --> |args| cli_analyze_project
    cli_main --> |args| cli_generate_diagrams
    cli_main --> |args| cli_show_structure
    cli_analyze_project --> analyzer_analyze
    cli_generate_diagrams --> mermaid_generator_generate_all_diagrams
    cli_show_structure --> |structure,value| cli_print_tree
    cli_show_structure --> |project_path| utils_get_project_structure
    cli_print_tree --> |value| cli_print_tree
    mermaid_generator_short_label -.->|base| mermaid_generator_generate_detailed_flow_graph
    mermaid_generator__find_function_full_name -.->|target| mermaid_generator_generate_detailed_flow_graph
    mermaid_generator__find_function_full_name -.->|target| mermaid_generator_generate_detailed_flow_graph
    mermaid_generator_ordered_functions_from_entry -.->|caller_order| mermaid_generator_generate_detailed_flow_graph
    mermaid_generator_nid -.->|src| mermaid_generator_generate_detailed_flow_graph
    mermaid_generator_resolve_internal -.->|target_internal| mermaid_generator_generate_detailed_flow_graph
    mermaid_generator_normalize_vars -.->|label| mermaid_generator_generate_detailed_flow_graph
    mermaid_generator_nid -.->|dst| mermaid_generator_generate_detailed_flow_graph
    mermaid_generator_resolve_internal -.->|internal_p| mermaid_generator_generate_detailed_flow_graph
    mermaid_generator_short_label -.->|base| mermaid_generator_keep_external
    mermaid_generator__find_function_full_name -.->|target| mermaid_generator_resolve_internal
    mermaid_generator__find_function_full_name -.->|target| mermaid_generator_ordered_functions_from_entry
    mermaid_generator__find_function_full_name -.->|target| mermaid_generator_visit
    analyzer__find_python_files -.->|python_files| analyzer_analyze
    analyzer__generate_metadata -.->|metadata| analyzer_analyze
    analyzer__path_to_module_name -.->|module_name| analyzer__analyze_file
    analyzer__resolve_function_name -.->|callee_key| analyzer__build_data_flow_graph
    analyzer__resolve_function_name -.->|callee_key| analyzer__build_data_flow_graph
    analyzer__extract_call_info -.->|call_info| analyzer_visit_Assign
    analyzer__extract_call_info -.->|call_info| analyzer_visit_Call
    analyzer__extract_call_info -.->|call_info| analyzer_visit_Return
    ext_ArgumentParser -.->|parser| cli_main
    analyzer_analyze -.->|metadata| cli_analyze_project
    mermaid_generator_generate_all_diagrams -.->|master_path| cli_generate_diagrams
    utils_get_project_structure -.->|structure| cli_show_structure